package com.cloudcc.mobile.db;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import android.content.Context;

import com.cloudcc.mobile.entity.RecentItem;
import com.lidroid.xutils.DbUtils;
import com.lidroid.xutils.db.sqlite.Selector;
import com.lidroid.xutils.exception.DbException;

public class RecentDB {
	private Context context;
	private DbUtils db;

	public RecentDB(Context context, String dbName) {
		this.context = context;
		db = DbUtils.create(context, dbName);
	}

	/**
	 * 保存数据库,如果数据库有相同的人就覆盖修改
	 * 
	 * @param cls
	 * @throws DbException
	 */
	public void saveRecentList(RecentItem entity) throws DbException {
		RecentItem item = db.findFirst(Selector.from(RecentItem.class).where(
				"fromUserId", "=", entity.getFromUserId()));
		if (item == null) {
			db.save(entity);
		} else {
			entity.setId(item.getId());
			db.saveOrUpdate(entity);
		}
	}

	/**
	 * 获取聊天人列表
	 * 
	 * @return
	 * @throws DbException
	 */
	public List<RecentItem> getRecentList() throws DbException {
		List<RecentItem> list = new ArrayList<RecentItem>();
		if (db.tableIsExist(RecentItem.class)) {
			list = db.findAll(RecentItem.class);
		}
		Collections.sort(list);// 按时间降序
		return list;
	}
}
